package cultivameCore.motor.threads;

import cultivameCore.entorno.Entorno;
import cultivameCore.planta.Planta;

public class PlantaThread extends Thread {
	
	private Planta myPlanta;
	private Entorno myEntorno;
	private int ms;
	private boolean b=true;
	
	public PlantaThread(Planta planta,Entorno entorno, int refresh){
		myPlanta=planta;
		myEntorno=entorno;
		ms=refresh;
	}
	
	public Planta getMyPlanta() {
		return myPlanta;
	}

	public void setMyPlanta(Planta myPlanta) {
		this.myPlanta = myPlanta;
	}

	public Entorno getMyEntorno() {
		return myEntorno;
	}

	public void setMyEntorno(Entorno myEntorno) {
		this.myEntorno = myEntorno;
	}
	
	public void run(){
		while (b&&!myPlanta.muerta()) {
			myPlanta.vivir();
			myPlanta.setTiempo_en_fase(myPlanta.getTiempo_en_fase()+(float)ms/1000/60/60/24);
			//PRUEBAS: myPlanta.setTiempo_en_fase(myPlanta.getTiempo_en_fase()+60*60*(float)ms/1000/60/60/24);
			if(myPlanta.puedeEvolucionar()){
				myPlanta.evolucionar();
			}
			try {
				sleep(ms);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	public void clear(){
		b=false;
	}
}
